    let isSelecting = false; // 是否正在拖动选择
    let startCell = null; // 拖动选择的起始单元格
    const $tableDom = $('#scheduleTimeT');

    // 单击单元格时切换选中状态
    $tableDom.on('click', 'td', function(event) {
    const $target = $(event.target);
    if (!$target.hasClass('first-column')) { // 忽略第一列
    $target.toggleClass('selected');
    updateScheduleTimeInput(); // 更新输入框的值
}
});

    // 鼠标按下时开始选择
    $tableDom.on('mousedown', 'td', function(event) {
    const $target = $(event.target);
    if (!$target.hasClass('first-column')) {
    isSelecting = true;
    startCell = event.target;
    $(startCell).toggleClass('selected'); // 立即切换起始单元格的状态
    event.preventDefault(); // 阻止默认行为
}
});

    // 鼠标悬停时，如果正在选择，则更新选择范围
    $tableDom.on('mouseover', 'td', function(event) {
    if (isSelecting && !$(event.target).hasClass('first-column')) {
    toggleSelection($(startCell), $(event.target));
}
});

    // 鼠标松开时结束选择
    $(document).on('mouseup', function() {
    if (isSelecting) {
    isSelecting = false;
    startCell = null;
    updateScheduleTimeInput(); // 更新输入框的值
}
});

    // 切换选择范围内的单元格状态
    function toggleSelection($startCell, $endCell) {
    const startRow = $startCell.closest('tr').index();
    const endRow = $endCell.closest('tr').index();
    const startCol = $startCell.index();
    const endCol = $endCell.index();
    const initialSelected = $startCell.hasClass('selected'); // 获取起始单元格的初始选中状态

    for (let r = Math.min(startRow, endRow); r <= Math.max(startRow, endRow); r++) {
    for (let c = Math.min(startCol, endCol); c <= Math.max(startCol, endCol); c++) {
    // 根据起始单元格的初始状态，设置范围内单元格的选中状态
    if (initialSelected) {
    $tableDom.find('tr').eq(r).find('td').eq(c).addClass('selected');
} else {
    $tableDom.find('tr').eq(r).find('td').eq(c).removeClass('selected');
}
}
}
}

    // 清空所有选中状态
    function clearSelection() {
    $tableDom.find('td.selected').removeClass('selected');
    $('#scheduleTime').val(''); // 清空输入框
}

    // 更新输入框的值
    function updateScheduleTimeInput() {
    const selectedCells = [];
    $tableDom.find('tr').each(function(rowIndex) {
    if (rowIndex === 0) return; // 跳过表头
    $(this).find('td').each(function(colIndex) {
    if (colIndex === 0) return; // 跳过第一列
    selectedCells.push($(this).hasClass('selected') ? '1' : '0');
});
});
    $('#scheduleTime').val(selectedCells.join(''));
}


